using System;
using System.Collections.Generic;

using System.Text;

namespace Sinacor.Servico.Bovespa.Corretagem.Service.ServiceImplementation.Translator.DataContractToBusinessEntity
{
    /// <summary>
    /// Faixa de Corretagem
    /// </summary>
	public class FaixaCorretagem
	{
		#region Métodos
		
		/// <summary>
		/// Método ToFaixaCorretagem
		/// </summary>
        public Sinacor.Servico.Bovespa.Corretagem.BusinessEntity.FaixaCorretagem ToFaixaCorretagem(Sinacor.Servico.Bovespa.Corretagem.Service.DataContract.Request.FaixaCorretagemRequest request)
		{
			
			BusinessEntity.FaixaCorretagem response = new BusinessEntity.FaixaCorretagem();
			if (request != null)
			{
                response.DataInicial = request.DataInicial;
                response.DataFinal = request.DataFinal;
                response.NumeroFaixa = request.NumeroFaixa;
                response.PercentualAliquota = request.PercentualAliquota;
                response.ValorAcrescimo = request.ValorAcrescimo;
                response.ValorInferior = request.ValorInferior;
                response.ValorSuperior = request.ValorSuperior;
				
			}
			return response;
			
		}
		
		/// <summary>
		/// Método ToFaixaCorretagem
		/// </summary>
		public List<BusinessEntity.FaixaCorretagem> ToFaixaCorretagem(List<DataContract.Request.FaixaCorretagemRequest> requests)
		{
			
			
			List<BusinessEntity.FaixaCorretagem> responses = null;
            if (requests != null)
			{
                responses = new List<BusinessEntity.FaixaCorretagem>();

                foreach (DataContract.Request.FaixaCorretagemRequest item in requests)
				{
                    responses.Add(ToFaixaCorretagem(item));
				}
			}
            return responses;
			
			
		}
		
		/// <summary>
		/// Método ToFiltroFaixaCorretagem
		/// </summary>
		public BusinessEntity.Parameter.FiltroFaixaCorretagem ToFiltroFaixaCorretagem(DataContract.Request.FiltroFaixaCorretagemRequest request)
		{
			
			BusinessEntity.Parameter.FiltroFaixaCorretagem response = new BusinessEntity.Parameter.FiltroFaixaCorretagem();
			if (request != null)
			{
                response.DataInicial = request.DataInicial;
                response.DataFinal = request.DataFinal;
                response.NumeroFaixa = request.NumeroFaixa;
                response.PercentualAliquota = request.PercentualAliquota;
                response.ValorAcrescimo = request.ValorAcrescimo;
                response.ValorInferior = request.ValorInferior;
                response.ValorSuperior = request.ValorSuperior;
                response.Periodo = new Sinacor.Servico.Bovespa.Corretagem.BusinessEntity.Periodo();
                response.Periodo.DataFinal = request.Periodo.DataFinal;
                response.Periodo.DataInicial = request.Periodo.DataInicial;
				
			}
			return response;
			
		}
		
		/// <summary>
		/// Método ToFiltroFaixaCorretagemChave
		/// </summary>
		public BusinessEntity.Parameter.FiltroFaixaCorretagemChave ToFiltroFaixaCorretagemChave(DataContract.Request.FiltroFaixaCorretagemChaveRequest request)
		{
			
			BusinessEntity.Parameter.FiltroFaixaCorretagemChave response = new BusinessEntity.Parameter.FiltroFaixaCorretagemChave();
			if (request != null)
			{
                response.DataInicial = request.DataInicial;
                response.NumeroFaixa = request.NumeroFaixa;
				
			}
			return response;
			
		}

        /// <summary>
        /// Método ToFiltroFaixaCorretagemChave
        /// </summary>
        public List<BusinessEntity.Parameter.FiltroFaixaCorretagemChave> ToFiltroFaixaCorretagemChave(List<DataContract.Request.FiltroFaixaCorretagemChaveRequest> requests)
        {

            List<BusinessEntity.Parameter.FiltroFaixaCorretagemChave> responses = null;
            if (requests != null)
            {
                responses = new List<BusinessEntity.Parameter.FiltroFaixaCorretagemChave>();

                foreach (DataContract.Request.FiltroFaixaCorretagemChaveRequest item in requests)
                {
                    responses.Add(ToFiltroFaixaCorretagemChave(item));
                }
            }
            return responses;

        }
		#endregion
	}
}

